package com.zhiche.lisa.bms.pojo.bo.quote;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 报价单明细
 * </p>
 *
 * @since 2019-02-18
 */
public class FleetQuotation {

    /**
     * id
     */
	private Long id;
    /**
     * 主表id
     */
	private Long headId;
    /**
     * 起运地
     */
	private String startAddr;
    /**
     * 起运市
     */
	private String startCity;
    /**
     * 起运区
     */
	private String startCounty;
    /**
     * 目的省
     */
	private String endProvince;
    /**
     * 目的市
     */
	private String endCity;
    /**
     * 目的区
     */
	private String endCounty;
    /**
     * 目的地
     */
	private String endAddr;
    /**
     * 所属客户
     */
	private String client;
    /**
     * 运输类型（OTM）
     */
	private String transTypeName;
    /**
     * 车系名称
     */
	private String vehicleTypeName;
    /**
     * 报价单价
     */
	private BigDecimal quotationPrice;
    /**
     * 报价公里数
     */
	private BigDecimal quotationMileage;
    /**
     * 标准公单价
     */
	private BigDecimal standardPrice;
    /**
     * 标准公里数
     */
	private BigDecimal standardMileage;
    /**
     * 对应账款id
     */
	private Long feeId;
    /**
     * 溢价比
     */
	private BigDecimal premium;
    /**
     * OTM标准价id
     */
	private Long staPriceId;
    /**
     * 创建人
     */
	private Long creator;
    /**
     * 创建时间
     */
	private Date gmtCreate;
    /**
     * 修改时间
     */
	private Date gmtModify;

	/**
	 * 报价单ID
	 */
	private Long quoteId;
	/**
	 * 报价单编码
	 */
	private String quoteCode;
	/**
	 * 分供方类型：0-临时、1-正式
	 */
	private Integer subType;
	/**
	 * 分供方名称
	 */
	private String subName;
	/**
	 * 分供方id
	 */
	@JsonSerialize(using = ToStringSerializer.class)
	private Long subId;
	/**
	 * 生效日期
	 */
	private Date effectiveDate;
	/**
	 * 失效日期
	 */
	private Date invalidDate;
	/**
	 * 扣点
	 */
	private BigDecimal rate;
	/**
	 * 状态：0-新增; 1-审核中; 2-已审核; 3-审核不通过; 4-作废'
	 */
	private Integer state;
	/**
	 * 支付方式: 0-开票, 1-现金
	 */
	private Integer payType;
	/**
	 * 账期：0-N; 1-N+1; 2-N+2; 3-N+3
	 */
	private Integer payDays;
	/**
	 * 运输类型
	 */
	private Integer transType;
	/**
	 * 关联合同号
	 */
	private String contractCode;
	/**
	 * 关联合id
	 */
	private Long contractId;
	/**
	 * 关联指令号
	 */
	private String comCode;

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public Long getHeadId() {
		return headId;
	}

	public void setHeadId(Long headId) {
		this.headId = headId;
	}

	public String getStartAddr() {
		return startAddr;
	}

	public void setStartAddr(String startAddr) {
		this.startAddr = startAddr;
	}

	public String getStartCity() {
		return startCity;
	}

	public void setStartCity(String startCity) {
		this.startCity = startCity;
	}

	public String getStartCounty() {
		return startCounty;
	}

	public void setStartCounty(String startCounty) {
		this.startCounty = startCounty;
	}

	public String getEndProvince() {
		return endProvince;
	}

	public void setEndProvince(String endProvince) {
		this.endProvince = endProvince;
	}

	public String getEndCity() {
		return endCity;
	}

	public void setEndCity(String endCity) {
		this.endCity = endCity;
	}

	public String getEndCounty() {
		return endCounty;
	}

	public void setEndCounty(String endCounty) {
		this.endCounty = endCounty;
	}

	public String getEndAddr() {
		return endAddr;
	}

	public void setEndAddr(String endAddr) {
		this.endAddr = endAddr;
	}

	public String getClient() {
		return client;
	}

	public void setClient(String client) {
		this.client = client;
	}

	public String getTransTypeName() {
		return transTypeName;
	}

	public void setTransTypeName(String transTypeName) {
		this.transTypeName = transTypeName;
	}

	public String getVehicleTypeName() {
		return vehicleTypeName;
	}

	public void setVehicleTypeName(String vehicleTypeName) {
		this.vehicleTypeName = vehicleTypeName;
	}

	public BigDecimal getQuotationPrice() {
		return quotationPrice;
	}

	public void setQuotationPrice(BigDecimal quotationPrice) {
		this.quotationPrice = quotationPrice;
	}

	public BigDecimal getQuotationMileage() {
		return quotationMileage;
	}

	public void setQuotationMileage(BigDecimal quotationMileage) {
		this.quotationMileage = quotationMileage;
	}

	public BigDecimal getStandardPrice() {
		return standardPrice;
	}

	public void setStandardPrice(BigDecimal standardPrice) {
		this.standardPrice = standardPrice;
	}

	public BigDecimal getStandardMileage() {
		return standardMileage;
	}

	public void setStandardMileage(BigDecimal standardMileage) {
		this.standardMileage = standardMileage;
	}

	public Long getFeeId() {
		return feeId;
	}

	public void setFeeId(Long feeId) {
		this.feeId = feeId;
	}

	public BigDecimal getPremium() {
		return premium;
	}

	public void setPremium(BigDecimal premium) {
		this.premium = premium;
	}

	public Long getStaPriceId() {
		return staPriceId;
	}

	public void setStaPriceId(Long staPriceId) {
		this.staPriceId = staPriceId;
	}

	public Long getCreator() {
		return creator;
	}

	public void setCreator(Long creator) {
		this.creator = creator;
	}

	public Date getGmtCreate() {
		return gmtCreate;
	}

	public void setGmtCreate(Date gmtCreate) {
		this.gmtCreate = gmtCreate;
	}

	public Date getGmtModify() {
		return gmtModify;
	}

	public void setGmtModify(Date gmtModify) {
		this.gmtModify = gmtModify;
	}

	public Long getQuoteId() {
		return quoteId;
	}

	public void setQuoteId(Long quoteId) {
		this.quoteId = quoteId;
	}

	public String getQuoteCode() {
		return quoteCode;
	}

	public void setQuoteCode(String quoteCode) {
		this.quoteCode = quoteCode;
	}

	public Integer getSubType() {
		return subType;
	}

	public void setSubType(Integer subType) {
		this.subType = subType;
	}

	public String getSubName() {
		return subName;
	}

	public void setSubName(String subName) {
		this.subName = subName;
	}

	public Long getSubId() {
		return subId;
	}

	public void setSubId(Long subId) {
		this.subId = subId;
	}

	public Date getEffectiveDate() {
		return effectiveDate;
	}

	public void setEffectiveDate(Date effectiveDate) {
		this.effectiveDate = effectiveDate;
	}

	public Date getInvalidDate() {
		return invalidDate;
	}

	public void setInvalidDate(Date invalidDate) {
		this.invalidDate = invalidDate;
	}

	public BigDecimal getRate() {
		return rate;
	}

	public void setRate(BigDecimal rate) {
		this.rate = rate;
	}

	public Integer getState() {
		return state;
	}

	public void setState(Integer state) {
		this.state = state;
	}

	public Integer getPayType() {
		return payType;
	}

	public void setPayType(Integer payType) {
		this.payType = payType;
	}

	public Integer getPayDays() {
		return payDays;
	}

	public void setPayDays(Integer payDays) {
		this.payDays = payDays;
	}

	public Integer getTransType() {
		return transType;
	}

	public void setTransType(Integer transType) {
		this.transType = transType;
	}

	public String getContractCode() {
		return contractCode;
	}

	public void setContractCode(String contractCode) {
		this.contractCode = contractCode;
	}

	public Long getContractId() {
		return contractId;
	}

	public void setContractId(Long contractId) {
		this.contractId = contractId;
	}

	public String getComCode() {
		return comCode;
	}

	public void setComCode(String comCode) {
		this.comCode = comCode;
	}

	@Override
	public String toString() {
		return "FleetQuotation{" +
				"id=" + id +
				", headId=" + headId +
				", startAddr='" + startAddr + '\'' +
				", startCity='" + startCity + '\'' +
				", startCounty='" + startCounty + '\'' +
				", endProvince='" + endProvince + '\'' +
				", endCity='" + endCity + '\'' +
				", endCounty='" + endCounty + '\'' +
				", endAddr='" + endAddr + '\'' +
				", client='" + client + '\'' +
				", transTypeName='" + transTypeName + '\'' +
				", vehicleTypeName='" + vehicleTypeName + '\'' +
				", quotationPrice=" + quotationPrice +
				", quotationMileage=" + quotationMileage +
				", standardPrice=" + standardPrice +
				", standardMileage=" + standardMileage +
				", feeId=" + feeId +
				", premium=" + premium +
				", staPriceId=" + staPriceId +
				", creator=" + creator +
				", gmtCreate=" + gmtCreate +
				", gmtModify=" + gmtModify +
				", quoteId=" + quoteId +
				", quoteCode='" + quoteCode + '\'' +
				", subType=" + subType +
				", subName='" + subName + '\'' +
				", subId=" + subId +
				", effectiveDate=" + effectiveDate +
				", invalidDate=" + invalidDate +
				", rate=" + rate +
				", state=" + state +
				", payType=" + payType +
				", payDays=" + payDays +
				", transType=" + transType +
				", contractCode='" + contractCode + '\'' +
				", contractId=" + contractId +
				", comCode='" + comCode + '\'' +
				'}';
	}
}
